【JavaScript】break文 - 反復処理・条件分岐処理の強制終了(for/for-of/for-in/while/do-while/switch)
JavaScriptのbreak文について解説します。
検証環境
break文
break文は“反復処理や条件分岐処理を強制終了します。”
特定の構文(for文、for-of文、for-in文、while文、do-while文、switch文)で使用可能であり、break文が実行されると一番近いブロック(波括弧{}
)の処理を終了します。
基本構文
break
構文はシンプルですが、特定の構文以外で使用するとエラーが発生するので注意が必要です。
サンプル
break文が使用可能なfor文、for-of文、for-in文、while文、do-while文、switch文について各サンプルを以下に示します。
for文
for( let i = 0; i < 10; i++ ) {
console.log(i + "回目");
if( i == 3 ) {
___ih_hl_start
break;
___ih_hl_end
}
}
0回目
1回目
2回目
3回目
for文は初期化式、条件式、変化式から10回繰り返すように見えますが、変数num
が3
のときにbreak
が実行されるため、4回目の繰り返しで終了します。
for-of文
let fruits = [ "Apple", "Orange", "Melon" ];
for( const value of fruits ) {
console.log(value);
if( value == "Orange" ) {
break;
}
}
Apple
Orange
変数value
の値が"Orange"
の処理でbreak文に到達し、繰り返し処理を終了します。
for-in文
let prices = { "Apple": 150, "Orange": 100, "Melon": 2300 };
for( const key in prices ) {
console.log(key + ": " + prices[key]);
if( key == "Orange" ) {
___ih_hl_start
break;
___ih_hl_end
}
}
Apple: 150
Orange: 100
変数key
の値が"Orange"
の処理でbreak文に到達し、繰り返し処理を終了します。
while文
let num = 0;
while( true ) {
console.log("Loop.");
___ih_hl_start
break;
___ih_hl_end
}
Loop.
while文の条件式はtrue
のため、無限ループになりそうですが、break
が必ず実行されるため、繰り返し処理の実行は1回のみです。
do-while文
let num = 0;
do {
console.log("Loop.");
___ih_hl_start
break;
___ih_hl_end
} while( true );
Loop.
do-while文の条件式はtrue
のため、無限ループになりそうですが、break
が必ず実行されるため、繰り返し処理の実行は1回のみです。
switch文
let data = 1;
switch( data ) {
case 0:
console.log("case0");
case 1:
console.log("case1");
case 2:
console.log("case2");
case 3:
console.log("case3");
break;
case 4:
console.log("case4");
default:
console.log("default")
}
case1
case2
case3
2個目のcase
から実行されますが、4個目のcase
の処理でbreak
が実行されるため、以降の処理は実行されません。